
"""
    flask依赖三个库：
        1、Jinja2 模板引擎
        2、Werkzeug WSGI工具集
        3、Itsdangerous 基于Django的签名模块
"""

from flask import Flask

"""
    创建flask对象
        参数1：__name__，如果从当前文件启动，那么值是__main__，如果是从其他模块调用运行的那么值是模块的名字
        参数2：static_url_path，静态资源的访问地址
        参数3：static_folder，用来储存静态资源的，默认值是static
        参数4：template_folder，模板文件夹，默认值是templates
"""
app = Flask(__name__)

"""
    使用app，通过路由绑定一个视图函数
    注：视图函数一定要有返回值
"""
@app.route("/", methods=["GET", "POST"])
def run():
    # print(1/0) # debug模式下在网页中调试程序
    return "hello flask!"


"""
    在访问路由时指定参数
        格式：@app.route("/<类型:变量名>")
        常见的参数类型：
            整数型 int
            小数   float
            字符串 path（默认就是path）   
"""
@app.route("/<int:i1>")
def get_int(i1):
    return "the input int is %d" % i1


@app.route("/<float:f1>")
def get_float(f1):
    return "the input float is %s" % f1


@app.route("/<path:p1>")
def get_path(p1):
    return "the input path is %s" % p1


if __name__ == '__main__':
    # 返回app装饰的所有路由和路径之间的映射关系
    print(app.url_map)

    # debug=True 表示处于调试模式,修改文件自动重启服务器
    app.run(debug=True, port=8080)

